#ifndef __CHANNEL_HPP__ //如果我们没有定义防止头文件被重复被包含
#define __CHANNEL_HPP__

#include<iostream>
#include<unistd.h>
#include<string>
using namespace std;


// 先描述
class channel
{
public:
    channel(int wtd, pid_t who) : _wtd(wtd), _who(who)
    {
        _name = "channel" + to_string(wtd) + "--" + to_string(who);
    }
    string Name()
    {
        return _name;
    }
    // 发送任务到管道
    void Send(int cmd)
    {
        write(_wtd, &cmd, sizeof(cmd));
    }
    void Close()
    {
        close(_wtd);
    }
    pid_t Id()
    {
        return _who;
    }
    ~channel() {}

private:
    int _wtd;
    string _name;
    pid_t _who;
};

#endif